<?php

/**
 * @author FROSTY (valik619)
 * @site nadmad.ru
 * @mail valik619@inbox.ru
 */

$start1 = microtime(true);
     
//Створюєм головний клас
class functions
{

        public static function check($str){
        if (function_exists('iconv')) {
            $str = iconv("UTF-8", "UTF-8", $str);
        }

        $str = preg_replace('#(\.|\?|!|\(|\)){3,}#', '\1\1\1', $str);

        $str = nl2br($str);
        $str = preg_replace('!\p{C}!u', '', $str);
        $str = str_replace('<br />', "\n", $str);

        $str = preg_replace('# {2,}#', ' ', $str);

        $str = preg_replace("/(\n)+(\n)/i", "\n\n", $str);

        return trim($str);
    }
    

    public static function checkin($str)
    {
        $str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
        $str = self::checkin($str);
        $str = nl2br($str);
        $str = mysql_real_escape_string($str);
        return $str;
    }
    
    
    
    
    

    function navigation($allpage,$query,$flp)  
{  
// {p} в $query заменяется на номер страницы, пример index.php?p={p}  
// $flp - вывод первой и последней страницы  
$this_page = (isset($_GET['p'])) ? intval($_GET['p']) : 1 ;  
if($this_page < 1 || $this_page > $allpage)$this_page = 1;  
  
$prev_page = $this_page-1;  
$pprev_page = $this_page-2;  
$next_page = $this_page+1;  
$nnext_page = $this_page+2;  
  
$var = "<div class='info'>";  
  
// Первая страница  
if($this_page>2 && $flp == 1) $var .= "<a href='".str_replace('{p}',1,$query)."'>1</a> ";  
// Предыдущая страница  
$var .= ($prev_page < 1) ? "" : "<a href='".str_replace('{p}',$prev_page,$query)."'>&lt;&lt;</a> ";  
// Наша позиция  
$var .= "<strong>$this_page</strong>";  
// Следующая страница  
$var .= ($next_page > $allpage) ? "" : " <a href='".str_replace('{p}',$next_page,$query)."'>&gt;&gt;</a>";  
//Последняя страница  
if($this_page<$allpage-1 && $flp == 1) $var .= " <a href='".str_replace('{p}',$allpage,$query)."'>$allpage</a>";  
  
$var .= "</div>";  
echo $var;  
}  
        
    
        /*
    -----------------------------------------------------------------
    Обработка смайлов
    -----------------------------------------------------------------
    */
    public static function smileys($str, $adm = FALSE)
    {
        global $root;
        static $smileys_cache = array();
        if (empty($smileys_cache)) {
            $file = $root . 'files/cache/smileys.dat';
            if (file_exists($file) && ($smileys = file_get_contents($file)) !== FALSE) {
                $smileys_cache = unserialize($smileys);
                return strtr($str, ($adm ? array_merge($smileys_cache['usr'], $smileys_cache['adm']) : $smileys_cache['usr']));
            } else {
                return $str;
            }
        } else {
            return strtr($str, ($adm ? array_merge($smileys_cache['usr'], $smileys_cache['adm']) : $smileys_cache['usr']));
        }
    }
    
        /*
    -----------------------------------------------------------------
    Транслитерация текста
    -----------------------------------------------------------------
    */
    public static function trans($str)
    {
        $replace = array(
            'a' => 'а',
            'b' => 'б',
            'v' => 'в',
            'g' => 'г',
            'd' => 'д',
            'e' => 'е',
            'yo' => 'ё',
            'zh' => 'ж',
            'z' => 'з',
            'i' => 'и',
            'j' => 'й',
            'k' => 'к',
            'l' => 'л',
            'm' => 'м',
            'n' => 'н',
            'o' => 'о',
            'p' => 'п',
            'r' => 'р',
            's' => 'с',
            't' => 'т',
            'u' => 'у',
            'f' => 'ф',
            'h' => 'х',
            'c' => 'ц',
            'ch' => 'ч',
            'w' => 'ш',
            'sh' => 'щ',
            'q' => 'ъ',
            'y' => 'ы',
            'x' => 'э',
            'yu' => 'ю',
            'ya' => 'я',
            'A' => 'А',
            'B' => 'Б',
            'V' => 'В',
            'G' => 'Г',
            'D' => 'Д',
            'E' => 'Е',
            'YO' => 'Ё',
            'ZH' => 'Ж',
            'Z' => 'З',
            'I' => 'И',
            'J' => 'Й',
            'K' => 'К',
            'L' => 'Л',
            'M' => 'М',
            'N' => 'Н',
            'O' => 'О',
            'P' => 'П',
            'R' => 'Р',
            'S' => 'С',
            'T' => 'Т',
            'U' => 'У',
            'F' => 'Ф',
            'H' => 'Х',
            'C' => 'Ц',
            'CH' => 'Ч',
            'W' => 'Ш',
            'SH' => 'Щ',
            'Q' => 'Ъ',
            'Y' => 'Ы',
            'X' => 'Э',
            'YU' => 'Ю',
            'YA' => 'Я'
        );
        return strtr($str, $replace);
    }
    public static function rus_lat($str)
    {
        $replace = array(
            'а' => 'a',
            'б' => 'b',
            'в' => 'v',
            'г' => 'g',
            'д' => 'd',
            'е' => 'e',
            'ё' => 'e',
            'ж' => 'j',
            'з' => 'z',
            'и' => 'i',
            'й' => 'i',
            'к' => 'k',
            'л' => 'l',
            'м' => 'm',
            'н' => 'n',
            'о' => 'o',
            'п' => 'p',
            'р' => 'r',
            'с' => 's',
            'т' => 't',
            'у' => 'u',
            'ф' => 'f',
            'х' => 'h',
            'ц' => 'c',
            'ч' => 'ch',
            'ш' => 'sh',
            'щ' => 'sch',
            'ъ' => "",
            'ы' => 'y',
            'ь' => "",
            'э' => 'ye',
            'ю' => 'yu',
            'я' => 'ya'
        );
        return strtr($str, $replace);
    }
    
    function bbcode($text) 
    {   
        
            
        
         $str_search = array(
      "#\\\n#is",
      "#\[b\](.+?)\[\/b\]#is",
      "#\[i\](.+?)\[\/i\]#is",
      "#\[u\](.+?)\[\/u\]#is",
      "#\[code\](.+?)\[\/code\]#is",
      "#\[quote\](.+?)\[\/quote\]#is",
      "#\[c\](.+?)\[\/c\]#is",
      "#\[url=(.+?)\](.+?)\[\/url\]#is",
      "#\[url\](.+?)\[\/url\]#is",
      "#\[size=(.+?)\](.+?)\[\/size\]#is",
      "#\[color=(.+?)\](.+?)\[\/color\]#is",
      "#\[list\](.+?)\[\/list\]#is",
      "#\[listn](.+?)\[\/listn\]#is",
      "#\[\*\](.+?)\[\/\*\]#",
      "#\[img\](.+?)\[\/img\]#is",
      "#\[muz](.+?)\[/muz]#is"
    );

    
    $str_replace = array(
      "<br />",
      "<b>\\1</b>",
      "<i>\\1</i>",
      "<span style='text-decoration:underline'>\\1</span>",
      "<div class='code'>\\1</div>",
      "<div class='quote'>\\1</div>",
      "<div class='quote'>\\1</div>",
      "<a href='\\1' rel='nofollow'>\\2</a>",
      "<a href='\\1'>\\1</a>",
      "<span style='font-size:\\1%'>\\2</span>",
      "<span style='color:\\1'>\\2</span>",
      "<ul>\\1</ul>",
      "<ol>\\1</ol>",
      "<li>\\1</li>",
      "<a href='$1'><img src='$set[home]/files/resize.php?image=$1' alt='IMG' /></a>",  // IMG
      "<object type='application/x-shockwave-flash' data='../players/player.swf' width='240' height='20' id='dewplayer' name='dewplayer'>
       <param name='wmode' value='transparent' /><param name='movie' value='../$set[home]/players/player.swf' />
        <param name='flashvars' value='mp3=$1' /> </object>"  // Music
    );

    return preg_replace($str_search, $str_replace, $text);    
}



function ava($email, $size, $rating, $defImg) {
	return "http://www.gravatar.com/avatar/".md5(strtolower($email))."?s=".$size."&amp;r=".$rating."&amp;d=".urlencode($defImg);
}


function user($n, $row){
    
            echo '<div class="comm_author">';
        echo "<div class='like'><img class='limgcom' src='".functions::ava(''.$n['mail'].'', 64, 'g', 'mm')."' alt='Gravatar'></div>";
        if($row['uid']){
        echo '<div class="info" style="font-size: 18px;"><b><a href="'.$root.'/office.php?a=anketa&amp;id='.$n['id'].'">'.$n['nick'].'</a></b></div>';
        }else{
        echo '<div class="info" style="font-size: 18px;"><a href="">Anonimus</a></div>';    
        }
        echo '<small>'.date("d.m.Y / H:i", $row['time']).'</small><br>';
        if($n['rights'] == 0){
        echo '<span class="green">[User]</span>';
        }else{
        echo '<span class="red">[Admin]</span>';    
        }
echo '<br>';

    
}


}






        //БАЗА
        require('connect.php');
        $connect = @mysql_connect($db_host, $db_user, $db_pass) or die('Помилка! Не можливо з\'эднатись з базою даних!');
        @mysql_select_db($db_name) or die('Помилка! Такої бази даних не знайдено!');
        mysql_query('SET CHARACTER SET utf8');
        mysql_query('SET NAMES utf8');
    
    //Грузим основні налаштування
        $set = array();
        $system = mysql_query("SELECT * FROM `set`");
        while (($res = mysql_fetch_row($system)) !== FALSE) $set[$res[0]] = $res[1];

    
         $root = isset($root) ? $root : '';
     
 $language = ''.$root.'language/'.$set['language'].'/index.lng';
        if (file_exists($language)) { $lang = parse_ini_file($language); }


//Записуєм основні дані з куків
$pass = $_COOKIE['pass'];
$uid = $_COOKIE['id'];

//Дістаєм дані
$data = mysql_query("SELECT * FROM `users` 
    WHERE `id`='".mysql_real_escape_string($uid)."' AND `pass`='".$pass."'") 
    or die ("ERROR: ". mysql_error());
$user = mysql_fetch_array($data);
    
    //Записуєм основні перемінні
    $kmess = $user['kmess'];
    $rights = $user['rights'];
    if($uid){
        //Щоб визначити чи юзер онлайн чи ні
    mysql_query("UPDATE `users` SET `online` = '".time()."' WHERE `id` = '$uid'");
    }else{
    $user['design'] = $set['design'];
    $user['rights'] = 0;
    $kmess = $set['kmess'];
}
    
    
    
    
    
    
    
/**
 * @author FROSTY (valik619)
 * @site nadmad.ru
 * @mail valik619@inbox.ru
 */

?>